package com.controller;

import com.vo.EmpVO;
import com.vo.ResponseVO;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class CorsDemoController {
    /**
     * 此方法用来演示CrossOrigin注解，只需要像下面这样添加注解就可以支持跨域了
     * 不需要在配置类中进行配置，缺点是只对这一个方法有效
     * <p>
     * CrossOrigin的相关配置项的默认值是
     * allowOrigins=“*”
     * allowMethods=“GET，POST，HEAD”
     * allowHeaders="所有的http header“
     * maxAge=1800秒 == 30分钟
     *
     * @return
     */
    @CrossOrigin
    @RequestMapping("/data1")
    public ResponseVO getData() {
        EmpVO empVO = new EmpVO(100, "cj");
        ResponseVO responseVO = new ResponseVO(200, "ok", empVO);
        return responseVO;
    }

    /**
     * 这里没有添加CrossOrigin注解，是不能跨域的
     * 但由于配置类有进行全局的跨域配置，所以此方法也可以跨域
     *
     * @return
     */
    @RequestMapping("/data2")
    public ResponseVO getData2() {
        EmpVO empVO = new EmpVO(200, "cj2");
        ResponseVO responseVO = new ResponseVO(200, "ok", empVO);
        return responseVO;
    }
}
